Introduction

In this exercise we want to analyse the impact of COVID-19 on vessel densities in the Belgian Part of the North Sea and the Western Scheldt. There are different ways to calculate vessel densities, therefore we first start with some background information on two different types of vessel densities and where this data can be found. The data and code of this analysis if freely available, see the ‘Data availability’ and ‘Code availability’ sections at the end of this document.

Vessel densities

In this small exercise we want to analyse vessel route densities in the Belgian part of the North Sea. The data for this exercise comes from EMODnet Human activities. EMODnet Human Activities has two types of vessel density data, one created by the Human Activities portal themselves, giving the vessel hours per square km per month by ship type. See here.

And one created by the European Maritime Safety Agency (EMSA), giving the number of routes per square km per month) by ship type. The advantage of the latter is that this provides recent information. For example, writing now 28th of April, the monthly aggregated data is already available for March 2020. For details, see here

For this exercise, we are only interested in Belgian waters, so we’ll use bounding box of the Belgian Exclusive Economic ZOne:

## Reading layer `OGRGeoJSON' from data source `http://geo.vliz.be/geoserver/MarineRegions/wfs?service=WFS&version=2.0.0&request=GetFeature&typeNames=eez&cql_filter=mrgid=%273293%27&outputFormat=application/json' using driver `GeoJSON'
## Simple feature collection with 1 feature and 32 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: 2.238333 ymin: 51.08931 xmax: 3.370403 ymax: 51.87611
## geographic CRS: WGS 84

For the Scheldt Estuary:

## Reading layer `OGRGeoJSON' from data source `http://geo.vliz.be/geoserver/wfs?request=getfeature&service=wfs&version=1.1.0&typename=MarineRegions:seavox_v16&outputformat=json&filter=%3CPropertyIsEqualTo%3E%3CPropertyName%3Esub_region%3C%2FPropertyName%3E%3CLiteral%3EWESTERN+SCHELDT%3C%2FLiteral%3E%3C%2FPropertyIsEqualTo%3E' using driver `GeoJSON'
## Simple feature collection with 1 feature and 23 fields
## geometry type:  MULTIPOLYGON
## dimension:      XY
## bbox:           xmin: 3.546714 ymin: 51.32974 xmax: 4.252759 ymax: 51.46375
## geographic CRS: WGS 84

Now we extract the Vessel density data, for example here for the Fhishing map of January 2019:

Belgian EEZ:

We extract all data from all the cells, and calculate the average for the whole BCP.

This is an example of the data in ‘wide’ format

datatable(df.sr,
          options = list(pageLength = 16),
          rownames = FALSE) %>% formatRound(-1, 2)

And this is the table in the ‘long’ format:

datatable(df.sr.long,
          options = list(pageLength = 16),
          rownames = FALSE) %>% formatRound(3, 2)

A plot of the result:

Scheldt estuary:

Date variable value
2019-01-01 Cargo 720.313297
2019-02-01 Cargo 714.925319
2019-03-01 Cargo 751.025501
2019-04-01 Cargo 773.799636
2019-05-01 Cargo 826.140255
2019-06-01 Cargo 733.415300
2019-07-01 Cargo 689.202186
2019-08-01 Cargo 690.591985
2019-09-01 Cargo 713.131147
2019-10-01 Cargo 776.610200
2019-11-01 Cargo 707.105647
2019-12-01 Cargo 625.606557
2020-01-01 Cargo 719.881603
2020-02-01 Cargo 649.000000
2020-03-01 Cargo 765.943534
2020-04-01 Cargo 700.958106
2019-01-01 Fishing 6.029144
2019-02-01 Fishing 6.992714
2019-03-01 Fishing 8.187614
2019-04-01 Fishing 8.994535
2019-05-01 Fishing 15.646630
2019-06-01 Fishing 20.225865
2019-07-01 Fishing 17.724954
2019-08-01 Fishing 10.602914
2019-09-01 Fishing 11.333333
2019-10-01 Fishing 18.939891
2019-11-01 Fishing 11.750455
2019-12-01 Fishing 3.704918
2020-01-01 Fishing 6.695811
2020-02-01 Fishing 3.149363
2020-03-01 Fishing 8.089253
2020-04-01 Fishing 10.599271
2019-01-01 Passenger 29.176685
2019-02-01 Passenger 25.335155
2019-03-01 Passenger 31.413479
2019-04-01 Passenger 64.276867
2019-05-01 Passenger 40.644809
2019-06-01 Passenger 38.877960
2019-07-01 Passenger 46.327869
2019-08-01 Passenger 40.989071
2019-09-01 Passenger 33.360656
2019-10-01 Passenger 34.775956
2019-11-01 Passenger 30.255009
2019-12-01 Passenger 30.384335
2020-01-01 Passenger 27.797814
2020-02-01 Passenger 24.506375
2020-03-01 Passenger 24.495446
2020-04-01 Passenger 25.466302
2019-01-01 Tanker 466.340619
2019-02-01 Tanker 422.852459
2019-03-01 Tanker 460.524590
2019-04-01 Tanker 431.637523
2019-05-01 Tanker 492.675774
2019-06-01 Tanker 460.859745
2019-07-01 Tanker 463.094718
2019-08-01 Tanker 468.531876
2019-09-01 Tanker 454.245902
2019-10-01 Tanker 472.517304
2019-11-01 Tanker 466.783242
2019-12-01 Tanker 488.746812
2020-01-01 Tanker 468.326047
2020-02-01 Tanker 416.366120
2020-03-01 Tanker 465.559198
2020-04-01 Tanker 417.225865
2019-01-01 Other 276.746812
2019-02-01 Other 276.746812
2019-03-01 Other 281.639344
2019-04-01 Other 312.191257
2019-05-01 Other 320.056466
2019-06-01 Other 296.116576
2019-07-01 Other 285.832423
2019-08-01 Other 306.708561
2019-09-01 Other 302.663024
2019-10-01 Other 326.387978
2019-11-01 Other 277.016393
2019-12-01 Other 224.928962
2020-01-01 Other 268.165756
2020-02-01 Other 240.987249
2020-03-01 Other 271.473588
2020-04-01 Other 247.825137
2019-01-01 All 1472.471767
2019-02-01 All 1420.659381
2019-03-01 All 1511.677596
2019-04-01 All 1547.045537
2019-05-01 All 1639.746812
2019-06-01 All 1549.495446
2019-07-01 All 1485.189435
2019-08-01 All 1488.473588
2019-09-01 All 1470.693989
2019-10-01 All 1629.231330
2019-11-01 All 1492.910747
2019-12-01 All 1352.622951
2020-01-01 All 1490.867031
2020-02-01 All 1334.009108
2020-03-01 All 1535.561020
2020-04-01 All 1402.074681

A plot of the result:

2020 vs 2019

We create a mean value for

  • February - April 2019
  • February - April 2020

And plot both periods rasters (the map is the Fishing type example)

BCP maps 2019 vs 2020

Scheldt maps 2019 vs 2020

Anomaly maps

Comparing the period February-April 2020 vs 2019: (the different layers are the different boat types)

Comparing the month-by-month differences between 2020 vs 2019: (the map is the Fishing type example)

Data availability

  • Vessel densities The data from this exercise is freely available at the EMODnet Human activities portal. EMODnet stands for the European Marine Observation and Data Network, EMODnet is a network of organisations that are collecting, standardizing and making European marine data and data products freely available, supported by EU’s integrated marine policy. The vessel densities used in this exercise is provided by the European Maritime Safety Agency (EMSA) to EMODnet human activities and available here.

  • Maritime boundaries The maritime boundaries used in this exercise are from MarineRegions.org. MarineRegions.org maintains a standard, relational list of geographic names coupled with information and maps of the geographic location of these features. This improves access and clarity of the different geographic, marine names and allows an improved linking of these locations to databases. The more information about the polygons used in this exercise:

Code availability

All the code needed to run this analysis is available here.

This code makes use of following R packages: - raster: for raster data - sf: for spatial data - mapview: for interactive maps - ggplot2: for plots - data.table: for manipulation dataframes/tables - mregions: for standardize marine regions from http://www.marineregions.org